📘 ConstructQ · Task Management

Role-Based Workflow Guide · Web App + Mobile App · v1.0
Reference files: ConstructQ_TaskManagement(QC+NCR)_v40.0.html · ConstructQ_TaskMobile_v23.0.html
Owner: วุธ (PM/SA) · Date: 3 กรกฎาคม 2569 (2026-07-03) · Audience: Software Development Team

1. ภาพรวม (Overview)

เอกสารนี้เป็น คู่มืออธิบายการทำงาน ของหน้าจอจัดการ Task (QC + NCR) ในระบบ ConstructQ สำหรับทีมพัฒนาซอฟต์แวร์ ครอบคลุมตั้งแต่ เริ่มสร้าง Task จนปิด Task ผ่านทุกสถานะใน Workflow Lifecycle และอธิบายบทบาทของผู้ใช้แต่ละคนที่ต้องดำเนินการในแต่ละขั้นตอน

1.1 บทบาทที่เกี่ยวข้อง (4 roles หลัก)

👤

Project Manager (PM)

Web App
👥

QC Manager (QCM)

Web App
🔍

QC Inspector

Mobile App
🔧

Sub Contractor

Mobile App

2. Workflow Lifecycle (7 สถานะหลัก + 2 NCR)

2.1 สถานะของ Task

Codeชื่อไทยชื่ออังกฤษความหมายChip
createdสร้างงานCreatedสร้างขึ้นแต่ยังไม่มอบหมายcreated
assignedมอบหมายแล้วAssignedกำหนดผู้ตรวจแล้ว · รอเริ่มตรวจassigned
in_progressกำลังตรวจIn ProgressInspector รับงาน · กำลังตรวจหน้างานin_progress
reviewรอตรวจสอบReviewส่งผลแล้ว · รอ QC Manager ตรวจทานreview
doneเสร็จสิ้นDoneอนุมัติปิด (terminal)done
blockedติดขัดBlockedหยุดชั่วคราว · รอเหตุผลอื่นblocked
rejectedตีกลับRejectedQCM ไม่อนุมัติ · ส่งกลับให้แก้rejected
ncr_openNCR เปิดNCR Openพบข้อบกพร่อง · รอ Sub แก้ไขncr_open
ncr_verifyรอตรวจซ้ำNCR VerifySub แก้เสร็จ · รอ Inspector ตรวจซ้ำncr_verify

2.2 State Diagram (Happy path + Rework path)

                                        ┌────────────────────────────────────────────┐
                                        │                                            ▼
[created] ──assign──▶ [assigned] ──receive──▶ [in_progress] ──submit──▶ [review] ──approve──▶ [done] 🎉
                                                    │                        │
                                                    │                        └──reject──▶ [rejected] ──rework──┐
                                                    │                                                          │
                                                    │                              ┌───────────────────────────┘
                                                    │                              ▼
                                                    │                        (back to in_progress)
                                                    ▼
                                              [blocked] ─unblock──▶ (back to previous state)

  ตรวจพบข้อบกพร่อง (fail) ระหว่างตรวจ Checklist:
  [in_progress] ──fail(item)──▶ [ncr_open] ──Sub แก้ไข──▶ [ncr_verify] ──Inspector ตรวจซ้ำ──▶ กลับ [in_progress]

3. เส้นทางการทำงานตั้งแต่สร้าง Task ถึงปิด Task

1

PM · Webสร้าง Task created

PM เข้าหน้า Task Management → กดปุ่ม "+ สร้าง Task ใหม่" หรือ "📋 สร้าง Task แบบ Bulk" → กรอกข้อมูลพื้นฐาน (Code · Name · Zone · WBS · Priority · Workflow · Checklist · Start-Due · Inspector · Approver) → กด "สร้าง Task" → Task ถูกสร้างในสถานะ created

2

QCM · Webมอบหมาย Inspector assigned

QCM เข้าดู Task ในสถานะ created → กดปุ่ม "มอบหมาย" → เลือกผู้ตรวจจาก picker (สรุปว่างสุดขึ้นก่อน) → ระบบส่ง email แจ้ง Inspector → สถานะเปลี่ยนเป็น assigned

3

Inspector · Mobileรับงาน + GPS Check-in in_progress

Inspector รับ push notification บนมือถือ → เปิดแอป → เห็น Task ในรายการ → แตะการ์ด → หน้ารายละเอียด → กด "เริ่มตรวจ Checklist" → ระบบบันทึก GPS check-in → สถานะเปลี่ยนเป็น in_progress

4

Inspector · Mobileตอบ Checklist รายข้อ

ผ่าน Tab strip เลือกหมวด → Circle stepper แสดงข้อในหมวด → ดู Rule chip 📏 (เกณฑ์ + severity + auto-NCR/warn) → ตอบ widget ตาม type (passfail / number / radio / checkbox / date / signature / photo / color / text / longtext) → แนบรูปประกอบ + comment ทุกข้อ → ✓ badge สีเหลืองยึดบน stepper

5a

Inspector · Mobileทุกข้อ Pass → ส่งผล review

ตอบครบทุกข้อ + ทุกข้อผ่านเกณฑ์ → กด "✓ ส่งผลการตรวจ + เซ็นรับรอง" → สถานะเปลี่ยนเป็น review → รอ QC Manager ตรวจทานผ่าน Web

5b

Inspector · Mobileบางข้อ Fail → เปิด NCR ncr_open

กด "✗ ไม่ผ่าน" ที่ item ใด → ระบบเปิด confirm dialog "ยืนยันการสร้าง NCR?" → ยืนยัน → ระบบสร้าง NCR อัตโนมัติพร้อม severity จาก rule → แจ้ง Sub Contractor · Task state เปลี่ยนเป็น ncr_open เมื่อ submit

6

Sub · Mobileแก้ไขข้อบกพร่อง ncr_verify

Sub เข้าแอปเห็น NCR ที่ต้องแก้ → เปิดดู root cause + corrective action → ดำเนินการแก้ที่หน้างาน → ถ่ายรูป Before/After → กรอกหมายเหตุการแก้ → กด "ส่งกลับให้ตรวจซ้ำ" → สถานะ NCR เปลี่ยนเป็น ncr_verify

7

Inspector · Mobileตรวจซ้ำ · ปิด NCR

Inspector ได้รับ notification → เปิดแอป → เห็น NCR สถานะ ncr_verify → ตรวจหน้างานตามที่ Sub แก้ → ยืนยันผ่าน = NCR closed / ยังไม่ผ่าน = NCR กลับ ncr_open

8

QCM · Webตรวจทานผลรวม review

QCM เข้าดู Task ที่ state = review → ตรวจทาน Checklist tab (ทุกข้อ pass · comments · photos) + NCR tab (ปิดครบหรือยัง) + Audit tab (traceable) → กด "✓ อนุมัติ" หรือ "↩ ตีกลับ"

9a

QCM · Webอนุมัติ → ปิดงาน done

QCM กด "✓ อนุมัติ" → Task state เปลี่ยนเป็น done · Audit log บันทึก · Task list แสดงในกลุ่ม completed · PM เห็นภาพรวมใน dashboard

9b

QCM · Webตีกลับ → รอบใหม่ rejected

QCM กด "↩ ตีกลับ" → กรอกเหตุผล → Task state เปลี่ยนเป็น rejected · กระเด้ง notification กลับให้ Inspector → เข้าสู่รอบใหม่ (rework loop)

4. Web App — บทบาท Project Manager (PM)

👤
Project
Manager

ความรับผิดชอบหลัก

หน้าจอที่ใช้บ่อย (Web App v40.0)

หน้าจอFeatureTrigger
Task List (Kanban)7 คอลัมน์ตาม state · drag การ์ดเปลี่ยน stateเข้าหน้าหลัก · เลือก Kanban view
สร้าง Task ใหม่ฟอร์ม 4 section: Basic · Checklist+Workflow · Assign · Attachmentsปุ่ม "+ สร้าง Task ใหม่" มุมขวาบน
Bulk CreateWBS Hierarchical Tree · เลือก L3 หลายแถว · Defaults ครั้งเดียวปุ่ม "📋 สร้าง Task แบบ Bulk"
Task Detail · OverviewDescription · pass/NCR/total/rate · Info sidebar + Actionsคลิกการ์ด Task
Task Detail · AuditTimeline actions · CSV exportTab "Audit Log"

4.1 ขั้นตอนการสร้าง Task Bulk (PM ทำบ่อย)

  1. เข้าหน้า Task Management → กด "📋 สร้าง Task แบบ Bulk"
  2. ระบบแสดง WBS ของโครงการเป็น hierarchical tree (L1 → L2 → L3)
  3. PM เลือก L3 activities ที่ต้องการสร้าง (checkbox หลายแถว)
  4. ระบุ Defaults ที่ apply กับทุก Task ที่เลือก · เรียงตาม TmCreate ใหม่:
    1. Zone · Priority · Start-Due date range (v38.0)
    2. Checklist · Workflow
    3. Inspector · Approver
  5. Ref Std แสดงเป็น chip ตาม WBS default (ไม่แก้ไข ตาม v37.0)
  6. กด "🚀 สร้าง N Tasks" → ระบบสร้างทั้งหมดในสถานะ created

5. Web App — บทบาท QC Manager (QCM)

👥
QC
Manager

ความรับผิดชอบหลัก

Action buttons ตามสถานะ

สถานะปุ่มที่โผล่ผลลัพธ์
createdมอบหมาย (Assign)เลือก Inspector → state → assigned
review✓ อนุมัติ / ↩ ตีกลับอนุมัติ → done · ตีกลับ → rejected
blockedปลดบล็อกคืนกลับสถานะก่อนถูกบล็อก
ทุกสถานะ (ยังไม่ done)🚫 แจ้งติดปัญหาstate → blocked · notify PM

5.1 ขั้นตอน Review Task (QCM ทำเมื่อ state = review)

  1. รับ notification ว่ามี Task รอตรวจทาน
  2. เข้า Task Management → filter state = review
  3. คลิกการ์ด → หน้า Task Detail
  4. ตรวจ Overview tab: pass/NCR/rate · description · assignees
  5. ตรวจ Checklist tab: ทุกข้อ pass · comments · photos · signature
  6. ตรวจ NCR tab: ถ้ามี NCR ต้องปิดครบก่อนอนุมัติ
  7. ตรวจ Audit tab: ตรวจ trace ทุกการเปลี่ยนแปลง (compliance)
  8. ตัดสินใจ:

6. Mobile App — บทบาท QC Inspector

🔍
QC
Inspector

ความรับผิดชอบหลัก

6.1 หน้าจอสำคัญ (Mobile App v23.0)

หน้าจอFeatureเทียบกับ Web
Task ListRole filter chips · f-chip filters (all/today/open/ncr/done)Kanban view · list view
Task Detail4 tabs: Overview · Lifecycle · Checklist · NCR · Docs · AuditTask Detail (Web)
Checklist ExecTab strip หมวด + Circle stepper + Rule chip + Type widgetsไม่มี — เฉพาะ Mobile
NCR DetailRoot cause · Corrective action · Photos before/afterNCR Detail (Web)

6.2 Flow ตรวจ Checklist หน้างาน (ตาม v23.0)

  1. รับ notification → เปิดแอป → แตะ Task card ที่มีสถานะ assigned
  2. Task Detail → Tab Overview → กด "📋 เริ่มตรวจ Checklist" → state → in_progress
  3. ระบบทำ GPS check-in อัตโนมัติ · Banner สีเหลืองแสดง location
  4. Tab strip ด้านบน · แต่ละหมวด (A/B/C…) แสดง N/M answered · แตะสลับหมวด
  5. Circle stepper · วงกลม 30px · เลขข้อ · ✓ เหลืองมุมขวาบนเมื่อตอบแล้ว · pin ตลอดการนำทาง
  6. สำหรับแต่ละข้อ:
  7. Navigation: ปุ่ม ‹ ก่อนหน้า / ถัดไป › ล่างสุด · ข้อสุดท้ายของหมวด → ข้ามหมวดถัดไปอัตโนมัติ
  8. Completion screen: เมื่อตอบครบ → หน้าสรุป pass/fail/skip พร้อมปุ่ม "✓ ส่งผล + เซ็นรับรอง"
  9. กดส่ง → state → review · toast "ส่งให้ QC Manager แล้ว"

6.3 Flow ตรวจซ้ำ NCR (verify)

  1. รับ notification NCR verify
  2. เปิด Task ที่ state = ncr_verify
  3. ดู NCR tab → ดูรูป Before/After ที่ Sub ส่งมา
  4. ไปหน้างาน → ตรวจว่าแก้ตามที่บันทึกหรือไม่
  5. ถ้าผ่าน: กด "ปิด NCR" → NCR status → closed
  6. ถ้ายังไม่ผ่าน: กด "ส่งกลับให้แก้ใหม่" → NCR status → open (loop กลับ Sub)

7. Mobile App — บทบาท Sub Contractor

🔧
Sub
Contractor

ความรับผิดชอบหลัก

หน้าจอสำคัญ

7.1 Flow แก้ไข NCR (ตัวอย่าง Paint NCR)

📋 NCR-2026-0054 (ตัวอย่าง)
Issue: พบรอยลูกกลิ้งที่ผนัง W-A02 ขนาด 30×40 ซม. ที่ความสูง 1.5 ม.
Root cause: ลูกกลิ้งสีสึกหรอจากใช้งาน 3 วัน · ไม่ได้เปลี่ยน
Corrective action (5 ขั้น): 1. ขัดผิว #240 → 2. ทำความสะอาด → 3. Primer 1 ชั้น → 4. ทาสีทับ 2 ชั้น (ลูกกลิ้งใหม่) → 5. ตรวจซ้ำ
  1. Sub เปิดแอป → NCR list → NCR-2026-0054 · status ncr_open
  2. ดู 5 ขั้นตอนแก้ไขของ Inspector
  3. ทำตามขั้นตอนที่หน้างาน · ถ่ายรูปทุกขั้น
  4. แนบรูป After ≥ 2 มุม
  5. กรอกหมายเหตุการแก้ไขที่ทำ
  6. กด "ส่งกลับให้ตรวจซ้ำ" → NCR status → ncr_verify
  7. รอ Inspector ตรวจซ้ำ

8. Audit Trail (บันทึกทุกการกระทำ)

ทุก action ในระบบถูกบันทึกใน task_audit_log ตามมาตรฐานงานก่อสร้างไทย · เก็บ:

8.1 ตัวอย่าง Audit log ของ Task TQ-2026-054

tsactorroleactiondetail
2026-06-25 09:00:00Son PrasertsriQCMtask.createdสร้าง Task จาก Checklist 'ตรวจงานสี v1.0'
2026-06-25 09:00:01Systemworkflow.linkedผูก Workflow: มาตรฐาน QC (7 ขั้น)
2026-06-26 08:30:11Son PrasertsriQCMtask.assignedมอบหมาย Step 2 → Kittisak Chaiwatn
2026-06-26 08:31:00Systemnotification.sentEmail แจ้ง Kittisak
2026-06-27 09:15:24Kittisak ChaiwatnQCtask.receivedรับงาน · เริ่มตรวจหน้างาน
2026-06-27 09:15:25Systemstate.changedassigned → in_progress

9. สรุป Role × Platform × State Matrix

สถานะ PM (Web) QCM (Web) Inspector (Mobile) Sub (Mobile)
created ✅ สร้าง ➡ มอบหมาย
assigned 👀 ดู 👀 ดู · แก้ assignee 📥 รับงาน
in_progress 👀 ดู 👀 ดู progress ✅ ตรวจ Checklist
ncr_open 👀 ดู · อนุมัติงบ (ถ้ามี) 👀 ติดตาม ✅ แก้ไข
ncr_verify 👀 ติดตาม ✅ ตรวจซ้ำ 👀 รอผล
review 👀 ดู pending ✅ Approve / Reject 👀 รอผลตรวจทาน
rejected 👀 ดู 👀 ดู ✅ แก้ไข + ส่งใหม่
blocked ✅ ปลดล็อก (approval) ✅ ปลดล็อก 👀 ดู
done ✅ ปิดโครงการ · ภาพรวม 👀 ดู archive 👀 ดู history

10. สรุปสำหรับทีมพัฒนา

💡 Key Takeaways
⚠️ Edge Cases ที่ต้องระวัง